win32: Export _gtk_win32_lookup_htheme_by_classname()
authorBenjamin Otte <otte@redhat.com>
Tue, 20 Dec 2011 13:15:41 +0000 (14:15 +0100)
committerBenjamin Otte <otte@redhat.com>
Mon, 9 Jan 2012 17:37:56 +0000 (18:37 +0100)
gtk/gtkwin32theme.c
gtk/gtkwin32themeprivate.h

index e73957ae3bb36619c9fc6085427a56768f58c9c8..5e4041f1ff97a7348407c40b6a2a919f1fc01a29 100644 (file)
 
 #ifdef G_OS_WIN32
 
-#include <windows.h>
 #include <cairo-win32.h>
 
-typedef HANDLE HTHEME;
-
 #define UXTHEME_DLL "uxtheme.dll"
 
 static HINSTANCE uxtheme_dll = NULL;
@@ -139,13 +136,15 @@ _gtk_win32_theme_init (void)
   hthemes_by_class = g_hash_table_new (g_str_hash, g_str_equal);
 }
 
-static HTHEME
-lookup_htheme_by_classname (const char *class)
+HTHEME
+_gtk_win32_lookup_htheme_by_classname (const char *class)
 {
   HTHEME theme;
   guint16 *wclass;
   char *lower;
   
+  _gtk_win32_theme_init ();
+
   lower = g_ascii_strdown (class, -1);
 
   theme = (HTHEME)  g_hash_table_lookup (hthemes_by_class, lower);
@@ -173,15 +172,13 @@ lookup_htheme_by_classname (const char *class)
 
 #else
 
-typedef void * HTHEME;
-
 static void
 _gtk_win32_theme_init (void)
 {
 }
 
-static HTHEME
-lookup_htheme_by_classname (const char *class)
+HTHEME
+_gtk_win32_lookup_htheme_by_classname (const char *class)
 {
   return NULL;
 }
@@ -219,7 +216,7 @@ _gtk_win32_theme_part_new (const char *class,
   part = g_slice_new0 (GtkWin32ThemePart);
   part->ref_count = 1;
 
-  part->theme = lookup_htheme_by_classname (class);
+  part->theme = _gtk_win32_lookup_htheme_by_classname (class);
   part->part = xp_part;
   part->state = state;
   part->part2 = xp_part2;
@@ -568,7 +565,7 @@ _gtk_win32_theme_int_parse (GtkCssParser      *parser,
 #ifdef G_OS_WIN32
       if (use_xp_theme && get_theme_sys_metric != NULL)
        {
-         HTHEME theme = lookup_htheme_by_classname (class);
+         HTHEME theme = _gtk_win32_lookup_htheme_by_classname (class);
 
          /* If theme is NULL it will just return the GetSystemMetrics value */
          *value = get_theme_sys_metric (theme, arg);
@@ -632,7 +629,7 @@ _gtk_win32_theme_color_resolve (const char *theme_class,
 
   if (use_xp_theme && get_theme_sys_color != NULL)
     {
-      HTHEME theme = lookup_htheme_by_classname (theme_class);
+      HTHEME theme = _gtk_win32_lookup_htheme_by_classname (theme_class);
 
       /* if theme is NULL, it will just return the GetSystemColor()
          value */
index 25349d2e377d64d20c0daf9c8b7bb583eef580af..575f829414ef8c2c6a09362be08595d127464754 100644 (file)
 
 #include "gtkcssparserprivate.h"
 
+#ifdef G_OS_WIN32
+
+#include <windows.h>
+
+typedef HANDLE HTHEME;
+
+#else /* !G_OS_WIN32 */
+
+typedef void * HTHEME;
+
+#endif /* G_OS_WIN32 */
+
 G_BEGIN_DECLS
 
 #define GTK_WIN32_THEME_SYMBOLIC_COLOR_NAME "-gtk-win32-color"
@@ -32,6 +44,8 @@ typedef struct _GtkWin32ThemePart GtkWin32ThemePart;
 
 #define GTK_TYPE_WIN32_THEME_PART (_gtk_win32_theme_part_get_type ())
 
+HTHEME             _gtk_win32_lookup_htheme_by_classname (const char  *classname);
+
 GType              _gtk_win32_theme_part_get_type  (void) G_GNUC_CONST;
 
 GtkWin32ThemePart *_gtk_win32_theme_part_ref       (GtkWin32ThemePart *part);